--缓存抢红包列表信息列表Key
local listKey = 'red_packet_list_{'..KEYS[1]..'}'
--当前被抢红包key
local redPacket = 'red_packet_{'..KEYS[1]..'}'
--获取红包库存
local stock = tonumber(redis.call('hget', redPacket, 'stock'))
--如果库存小于零，抢红包失败，返回0
if stock <= 0 then return 0 end
--否则库存减1
stock = stock - 1
--保存当前库存
redis.call('hset', redPacket, 'stock', tostring(stock))
--抢红包列表，保存当前成功抢到红包用户
redis.call('rpush', listKey, ARGV[1])
--如果此时库存等于0，红包已被抢完，返回2
if stock == 0 then return 2 end
-- 否则返回1，抢红包成功
return 1